package com.love.usedcar.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.love.common.core.annotation.Excel;
import com.love.common.core.web.domain.BaseEntity;

/**
 * 车辆交易记录（管理车辆交易流程）对象 USED_CAR_TRANSACTION
 * 
 * @author love
 * @date 2025-10-01
 */
public class UsedCarTransaction extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 交易ID */
    private Long transactionId;

    /** 车辆ID（关联LOVE_USED_CAR表） */
    @Excel(name = "车辆ID", readConverterExp = "关=联LOVE_USED_CAR表")
    private Long carId;

    /** 卖家ID（关联sys_user表） */
    @Excel(name = "卖家ID", readConverterExp = "关=联sys_user表")
    private Long sellerId;

    /** 买家ID（关联sys_user表） */
    @Excel(name = "买家ID", readConverterExp = "关=联sys_user表")
    private Long buyerId;

    /** 成交价格 */
    @Excel(name = "成交价格")
    private BigDecimal transactionPrice;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date transactionTime;

    /** 交易状态：0待付款，1已付款待提车，2已完成 */
    @Excel(name = "交易状态：0待付款，1已付款待提车，2已完成")
    private Integer transactionStatus;

    public void setTransactionId(Long transactionId) 
    {
        this.transactionId = transactionId;
    }

    public Long getTransactionId() 
    {
        return transactionId;
    }

    public void setCarId(Long carId) 
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }

    public void setSellerId(Long sellerId) 
    {
        this.sellerId = sellerId;
    }

    public Long getSellerId() 
    {
        return sellerId;
    }

    public void setBuyerId(Long buyerId) 
    {
        this.buyerId = buyerId;
    }

    public Long getBuyerId() 
    {
        return buyerId;
    }

    public void setTransactionPrice(BigDecimal transactionPrice) 
    {
        this.transactionPrice = transactionPrice;
    }

    public BigDecimal getTransactionPrice() 
    {
        return transactionPrice;
    }

    public void setTransactionTime(Date transactionTime) 
    {
        this.transactionTime = transactionTime;
    }

    public Date getTransactionTime() 
    {
        return transactionTime;
    }

    public void setTransactionStatus(Integer transactionStatus) 
    {
        this.transactionStatus = transactionStatus;
    }

    public Integer getTransactionStatus() 
    {
        return transactionStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("transactionId", getTransactionId())
            .append("carId", getCarId())
            .append("sellerId", getSellerId())
            .append("buyerId", getBuyerId())
            .append("transactionPrice", getTransactionPrice())
            .append("transactionTime", getTransactionTime())
            .append("transactionStatus", getTransactionStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
